1. Field
The present invention generally relates towards reducing communication latency. More particularly, the present invention relates to a server based method for optimizing call setup latency for geographically dense groups.
2. Background
Advances in technology have resulted in smaller and more powerful personal computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless computing devices, such as portable wireless telephones, laptops, personal digital assistants (PDAs) and paging devices that are each small, lightweight, and can be easily carried by users. A wireless device is any device that can communicate with other devices without being physically attached to them. Most wireless devices communicate with each other through radio frequencies.
More specifically, the portable wireless telephones, for example, further include cellular telephones that communicate voice and data packets over wireless networks. Further, many such cellular telephones are being manufactured with relatively large increases in computing capabilities, and as such, are becoming tantamount to small personal computers and hand-held PDAs.
However, these smaller and more powerful personal computing devices are typically severely resource constrained. For example, the screen size, amount of available memory and file system space, amount of input and output capabilities and processing capability may each be limited by the small size of the device. Due to severe resource constraints, it is often typically desirable, for example, to maintain a limited size and quantity of software applications and other information residing on such remote personal computing devices (client devices).
Some of the personal computing devices utilize an application programming interface (API) or application programming interfaces (APIs), sometimes referred to as runtime environments and software platforms, that are installed onto their local computer platform and which are used, for example, to simplify operations of such devices, such as by providing generalized calls for device specific resources. An API is a set of routines used by an application program to direct the performance of procedures used by the computer's operating system.
Further, some APIs are also known to provide software developers the ability to create software applications that are fully executable on such devices. In addition, some of such APIs are known to be operationally located between the computing device system software and the software applications such that the computing device system software and the software applications such that the computing device computing functionality is made available to the software application without requiring the software developer to have the specific computing device system source code. Further, some APIs are known to provide mechanisms for secure communications between such personal devices (i.e., clients) and remote devices (i.e., servers) using secure, cryptographic information.
Examples of such APIs, some of which are discussed in more detail below, include versions of the Binary Runtime Environment for Wireless® (BREW®) developed by QUALCOMM, Inc., of San Diego, Calif. BREW® can operate with a computing device's (e.g., a wireless cellular phone) operating system, and can, among other features, provide interfaces to hardware features particularly found on personal computing devices. BREW® can also provide these interfaces on such personal computing devices at a relatively low cost with respect to demands on device resources and with respect to the price paid by consumers for devices containing the BREW® API. Additional features of BREW® include its end-to-end software distribution platform that provides a variety of benefits for wireless service operators, software developers and computing device consumers. At least one such currently available end-to-end software distribution platform includes logic distributed over a server-client architecture, where the server performs, for example, billing, security, and application distribution functionality, and the client performs, for example, application execution, security and user interface functionality.
The foregoing description of the related art is merely intended to provide an overview of wireless devices and some of the known uses of APIs and as an introduction to the BREW® platform, which can be used in various embodiments of the invention. However, the invention is not to be construed as being limited to a specific physical configuration, implementation, operating platform or environment.
In a group call communication system, the reduction of latency is an important design goal which directly translates into end user customer satisfaction and utility. Some examples of sources of latency in a wireless network follow. Channel assignment latency is a delay in assigning and initializing a traffic channel for the user's communication needs. Paging latency is a delay incurred while waiting for the user's mobile device to respond to a page in an appropriate paging channel slot. Over-the-air transmission is another source of latency as the calls originate, travel and are received over a communication infrastructure.
In addition to these types of delays, there are delays that may also occur at the group call communication server. Some examples of server delays are user request processing and server component communication.
In a Push to Talk (PTT) system, all of the various types of delays contribute to PTT latency. PTT latency is the delay between the time the user requests a floor, by pressing the PTT button, and the time the user receives confirmation from a PTT application server that the call has been established and the floor is available. With the exception of paging latency, the delays described above also contribute to end-to-end media latency, which is the delay between the time the originator starts speaking and the time when the targets actually hear the originator's speech.
Therefore, it is desirable and advantageous to provide a method for reducing latency in a group communication system.
During call setups for geographically dense groups and multicast groups, a high number of access probe collisions occur as multiple targets registered in the same sector attempt to respond to the call request at the same time. These collisions cause an increase in call setup times. There is a need for a method and system to avoid these collisions at the application layer.